gtk_dialog_add_buttons G_GNUC_NULL_TERMINATED
gtk_dialog_get_action_area
gtk_dialog_get_content_area
-gtk_dialog_get_has_separator
gtk_dialog_get_widget_for_response
gtk_dialog_get_response_for_widget
gtk_dialog_get_type G_GNUC_CONST
gtk_dialog_set_alternative_button_order
gtk_dialog_set_alternative_button_order_from_array
gtk_dialog_set_default_response
-gtk_dialog_set_has_separator
gtk_dialog_set_response_sensitive
#endif
#endif
content_area = gtk_dialog_get_content_area (dialog);
action_area = gtk_dialog_get_action_area (dialog);
- gtk_dialog_set_has_separator (dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
content_area = gtk_dialog_get_content_area (credits_dialog);
action_area = gtk_dialog_get_action_area (credits_dialog);
- gtk_dialog_set_has_separator (credits_dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (credits_dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
content_area = gtk_dialog_get_content_area (license_dialog);
action_area = gtk_dialog_get_action_area (license_dialog);
- gtk_dialog_set_has_separator (license_dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (license_dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
content_area = gtk_dialog_get_content_area (dialog);
action_area = gtk_dialog_get_action_area (dialog);
- gtk_dialog_set_has_separator (dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
gtk_window_set_title (GTK_WINDOW (colorseldiag),
_("Color Selection"));
-
- _gtk_dialog_set_ignore_separator (dialog, TRUE);
}
GtkWidget*
content_area = gtk_dialog_get_content_area (cpu_dialog);
action_area = gtk_dialog_get_action_area (cpu_dialog);
- gtk_dialog_set_has_separator (cpu_dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
#include "gtkdialog.h"
#include "gtkhbbox.h"
#include "gtklabel.h"
-#include "gtkhseparator.h"
#include "gtkmarshalers.h"
#include "gtkvbox.h"
#include "gdkkeysyms.h"
{
GtkWidget *vbox;
GtkWidget *action_area;
-
- GtkWidget *separator;
-
- guint ignore_separator : 1;
};
typedef struct _ResponseData ResponseData;
static gboolean gtk_dialog_delete_event_handler (GtkWidget *widget,
GdkEventAny *event,
gpointer user_data);
-
-static void gtk_dialog_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec);
-static void gtk_dialog_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
static void gtk_dialog_style_set (GtkWidget *widget,
GtkStyle *prev_style);
static void gtk_dialog_map (GtkWidget *widget);
GObjectClass *gobject_class;
GtkWidgetClass *widget_class;
GtkBindingSet *binding_set;
-
+
gobject_class = G_OBJECT_CLASS (class);
widget_class = GTK_WIDGET_CLASS (class);
-
- gobject_class->set_property = gtk_dialog_set_property;
- gobject_class->get_property = gtk_dialog_get_property;
-
+
widget_class->map = gtk_dialog_map;
widget_class->style_set = gtk_dialog_style_set;
class->close = gtk_dialog_close;
-
- g_type_class_add_private (gobject_class, sizeof (GtkDialogPrivate));
- /**
- * GtkDialog:has-separator:
- *
- * When %TRUE, the dialog has a separator bar above its buttons.
- */
- g_object_class_install_property (gobject_class,
- PROP_HAS_SEPARATOR,
- g_param_spec_boolean ("has-separator",
- P_("Has separator"),
- P_("The dialog has a separator bar above its buttons"),
- TRUE,
- GTK_PARAM_READWRITE));
+ g_type_class_add_private (gobject_class, sizeof (GtkDialogPrivate));
/**
* GtkDialog::response:
GtkDialogPrivate);
priv = dialog->priv;
- priv->ignore_separator = FALSE;
-
/* To avoid breaking old code that prevents destroy on delete event
* by connecting a handler, we have to have the FIRST signal
* connection on the dialog.
FALSE, TRUE, 0);
gtk_widget_show (priv->action_area);
- priv->separator = gtk_hseparator_new ();
- gtk_box_pack_end (GTK_BOX (priv->vbox), priv->separator, FALSE, TRUE, 0);
- gtk_widget_show (priv->separator);
-
gtk_window_set_type_hint (GTK_WINDOW (dialog),
GDK_WINDOW_TYPE_HINT_DIALOG);
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER_ON_PARENT);
childname);
}
-static void
-gtk_dialog_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- GtkDialog *dialog;
-
- dialog = GTK_DIALOG (object);
-
- switch (prop_id)
- {
- case PROP_HAS_SEPARATOR:
- gtk_dialog_set_has_separator (dialog, g_value_get_boolean (value));
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-gtk_dialog_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- GtkDialog *dialog = GTK_DIALOG (object);
- GtkDialogPrivate *priv = dialog->priv;
-
- switch (prop_id)
- {
- case PROP_HAS_SEPARATOR:
- g_value_set_boolean (value, priv->separator != NULL);
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
static gboolean
gtk_dialog_delete_event_handler (GtkWidget *widget,
GdkEventAny *event,
if (flags & GTK_DIALOG_MODAL)
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
-
+
if (flags & GTK_DIALOG_DESTROY_WITH_PARENT)
gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
- if (flags & GTK_DIALOG_NO_SEPARATOR)
- gtk_dialog_set_has_separator (dialog, FALSE);
-
return GTK_WIDGET (dialog);
}
g_list_free (children);
}
-/**
- * gtk_dialog_set_has_separator:
- * @dialog: a #GtkDialog
- * @setting: %TRUE to have a separator
- *
- * Sets whether the dialog has a separator above the buttons.
- * %TRUE by default.
- **/
-void
-gtk_dialog_set_has_separator (GtkDialog *dialog,
- gboolean setting)
-{
- GtkDialogPrivate *priv;
-
- g_return_if_fail (GTK_IS_DIALOG (dialog));
-
- priv = dialog->priv;
-
- /* this might fail if we get called before _init() somehow */
- g_assert (priv->vbox != NULL);
-
- if (priv->ignore_separator)
- {
- g_warning ("Ignoring the separator setting");
- return;
- }
-
- if (setting && priv->separator == NULL)
- {
- priv->separator = gtk_hseparator_new ();
- gtk_box_pack_end (GTK_BOX (priv->vbox), priv->separator, FALSE, TRUE, 0);
-
- /* The app programmer could screw this up, but, their own fault.
- * Moves the separator just above the action area.
- */
- gtk_box_reorder_child (GTK_BOX (priv->vbox), priv->separator, 1);
- gtk_widget_show (priv->separator);
- }
- else if (!setting && priv->separator != NULL)
- {
- gtk_widget_destroy (priv->separator);
- priv->separator = NULL;
- }
-
- g_object_notify (G_OBJECT (dialog), "has-separator");
-}
-
-/**
- * gtk_dialog_get_has_separator:
- * @dialog: a #GtkDialog
- *
- * Accessor for whether the dialog has a separator.
- *
- * Return value: %TRUE if the dialog has a separator
- **/
-gboolean
-gtk_dialog_get_has_separator (GtkDialog *dialog)
-{
- g_return_val_if_fail (GTK_IS_DIALOG (dialog), FALSE);
-
- return dialog->priv->separator != NULL;
-}
-
/**
* gtk_dialog_response:
* @dialog: a #GtkDialog
return ri.response_id;
}
-void
-_gtk_dialog_set_ignore_separator (GtkDialog *dialog,
- gboolean ignore_separator)
-{
- GtkDialogPrivate *priv = dialog->priv;
-
- priv->ignore_separator = ignore_separator;
-}
-
/**
* gtk_dialog_get_widget_for_response:
* @dialog: a #GtkDialog
typedef enum
{
GTK_DIALOG_MODAL = 1 << 0, /* call gtk_window_set_modal (win, TRUE) */
- GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1, /* call gtk_window_set_destroy_with_parent () */
- GTK_DIALOG_NO_SEPARATOR = 1 << 2 /* no separator bar above buttons */
+ GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1 /* call gtk_window_set_destroy_with_parent () */
} GtkDialogFlags;
/* Convenience enum to use for response_id's. Positive values are
gint gtk_dialog_get_response_for_widget (GtkDialog *dialog,
GtkWidget *widget);
-void gtk_dialog_set_has_separator (GtkDialog *dialog,
- gboolean setting);
-gboolean gtk_dialog_get_has_separator (GtkDialog *dialog);
-
gboolean gtk_alternative_dialog_button_order (GdkScreen *screen);
void gtk_dialog_set_alternative_button_order (GtkDialog *dialog,
gint first_response_id,
GtkWidget * gtk_dialog_get_action_area (GtkDialog *dialog);
GtkWidget * gtk_dialog_get_content_area (GtkDialog *dialog);
-/* For private use only */
-void _gtk_dialog_set_ignore_separator (GtkDialog *dialog,
- gboolean ignore_separator);
-
G_END_DECLS
#endif /* __GTK_DIALOG_H__ */
content_area = gtk_dialog_get_content_area (fc_dialog);
action_area = gtk_dialog_get_action_area (fc_dialog);
- gtk_dialog_set_has_separator (fc_dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (fc_dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
content_area = gtk_dialog_get_content_area (dialog);
action_area = gtk_dialog_get_action_area (dialog);
- gtk_dialog_set_has_separator (dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
_("Font Selection"));
gtk_widget_pop_composite_child ();
-
- _gtk_dialog_set_ignore_separator (dialog, TRUE);
}
/**
G_MAXINT,
12,
GTK_PARAM_READABLE));
- /**
- * GtkMessageDialog:use-separator:
- *
- * Whether to draw a separator line between the message label and the buttons
- * in the dialog.
- *
- * Since: 2.4
- */
- gtk_widget_class_install_style_property (widget_class,
- g_param_spec_boolean ("use-separator",
- P_("Use separator"),
- P_("Whether to put a separator between the message dialog's text and the buttons"),
- FALSE,
- GTK_PARAM_READABLE));
+
/**
* GtkMessageDialog:message-type:
*
gtk_box_set_spacing (GTK_BOX (action_area), 6);
gtk_widget_show_all (hbox);
-
- _gtk_dialog_set_ignore_separator (GTK_DIALOG (dialog), TRUE);
}
static void
NULL);
dialog = GTK_DIALOG (widget);
- if (flags & GTK_DIALOG_NO_SEPARATOR)
- {
- g_warning ("The GTK_DIALOG_NO_SEPARATOR flag cannot be used for GtkMessageDialog");
- flags &= ~GTK_DIALOG_NO_SEPARATOR;
- }
-
if (message_format)
{
va_start (args, message_format);
GtkStyle *prev_style)
{
GtkMessageDialog *dialog = GTK_MESSAGE_DIALOG (widget);
- gboolean use_separator;
GtkWidget *parent;
gint border_width;
MAX (0, border_width - 7));
}
- gtk_widget_style_get (widget,
- "use-separator", &use_separator,
- NULL);
-
- _gtk_dialog_set_ignore_separator (GTK_DIALOG (widget), FALSE);
- gtk_dialog_set_has_separator (GTK_DIALOG (widget), use_separator);
- _gtk_dialog_set_ignore_separator (GTK_DIALOG (widget), TRUE);
-
setup_primary_label_font (dialog);
GTK_WIDGET_CLASS (gtk_message_dialog_parent_class)->style_set (widget, prev_style);
action_area = gtk_dialog_get_action_area (dialog);
/* Set the dialog up with HIG properties */
- gtk_dialog_set_has_separator (dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
if (priv->parent_window != NULL)
gtk_window_set_transient_for (GTK_WINDOW (dialog), priv->parent_window);
gtk_window_set_title (GTK_WINDOW (dialog), "");
- gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
vbox = gtk_vbox_new (FALSE, 12);
content_area = gtk_dialog_get_content_area (dialog);
action_area = gtk_dialog_get_action_area (dialog);
- gtk_dialog_set_has_separator (dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
- gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
main_box = gtk_hbox_new (FALSE, 0);
content_area = gtk_dialog_get_content_area (dialog);
action_area = gtk_dialog_get_action_area (dialog);
- gtk_dialog_set_has_separator (dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
content_area = gtk_dialog_get_content_area (rc_dialog);
action_area = gtk_dialog_get_action_area (rc_dialog);
- gtk_dialog_set_has_separator (rc_dialog, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (rc_dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);